1. Field of Disclosure
The present invention relates to allocation of shared resources within a digital processing system and more specifically to arbitration based allocation of shared resources with reduced latencies.
2. Related Art
A shared resource refers to any resource (hardware, software and/or firmware based), which can be used by multiple entities. The usage of a resource generally depends on the type/nature of the resource. For example, a bus as a resource is used to transfer (send/receive) data between various components/entities of a digital processing system.
There is a general need to allocate a shared resource to some of the multiple entities that can share the resource. For example, there are several buses which are inherently designed to be used only by a single entity at any specific time instance and thus a bus may need to be allocated to one of the entities requiring to transfer data on the bus in each duration.
Arbitration is often used in allocation of shared resources, particularly when the number of resources is less than the number of entities that may need to use the resource. Arbitration generally entails determining the specific entities to which to allocate a resource according to a corresponding arbitration approach (e.g., fixed priorities, round robin, etc.).
A latency is generally present in arbitration based allocation of resources. Latency refers to a time delay measured, for example, between a time instance a request is made for a resource and communication is received of allocation of the same. There can be various components to the latency/delay such as, for example, the time taken to communicate that an entity requires a resource, time to allocate the resource based on an arbitration approach, and time taken to communicate the allocation.
It may be desirable in several instances to reduce the latency in arbitration based allocation of shared resources. Several aspects of the present invention provide for such reduction as described below with examples.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.